Epochenzeit-Konvertierungstechniken:
1. Datum in Epochenzeit umwandeln:
Um ein Datum und eine Uhrzeit in eine Epochenzeit umzuwandeln In Sekundenschnelle können Sie den Befehl „date“ mit der Option „+%s“ verwenden.
Um beispielsweise Datum und Uhrzeit „1. Januar 1970 00:00:00 UTC“ in die Epochenzeit umzuwandeln, würden Sie den folgenden Befehl verwenden:
„
$ date --utc -d '1970-01-01 00:00:00 UTC' +%s
„
Dieser Befehl würde die folgende Epochenzeit ausgeben:
„
0
„
2. Epochenzeit in Datum umrechnen:
Um Epochenzeit in ein Datum umzuwandeln und Uhrzeit können Sie den Befehl „date“ mit der Option „-d @“ verwenden.
Um beispielsweise die Epochenzeit „0“ in ein Datum und eine Uhrzeit umzuwandeln, würden Sie den folgenden Befehl verwenden:
„
$ date -d @0
„
Dieser Befehl würde das folgende Datum und die folgende Uhrzeit ausgeben:
„
Do, 1. Jan. 00:00:00 UTC 1970
„
3. Sekunden zur Epochenzeit addieren/subtrahieren:
Um Sekunden hinzuzufügen oder zu subtrahieren Ab der Epochenzeit können Sie den Befehl „date“ mit den Optionen „-d @“ und „+%s“ verwenden.
Um beispielsweise 60 Sekunden zur Epochenzeit „0“ hinzuzufügen, würden Sie den folgenden Befehl verwenden:
„
$ date -d @0 +%s
„
Dieser Befehl würde die folgende Epochenzeit ausgeben:
„
60
„
Um 60 Sekunden von der Epochenzeit „60“ zu subtrahieren, würden Sie den folgenden Befehl verwenden:
„
$ date --date='@60 seconds' -u +%s
„
5. Konvertieren Sie Sekunden in das Datumsformat:
„
$ date -d @1585233869
„
So subtrahieren Sie 1 Tag (86400 Sekunden) von der Epochenzeit:
„
$ date -d "jetzt - 1 Tag" +%s
„
Hier sind die 13 besten Beispiele für die Konvertierung oder Änderung der Zeitepoche mit dem Datumsdienstprogramm unter Linux oder Unix:
1. Konvertieren Sie das Datum unter Berücksichtigung der Zeitzone in die Epochenzeit:
Um beispielsweise Datum und Uhrzeit „1. Januar 1970 12:00:00 Uhr EST“ in die Epochenzeit in Sekunden umzuwandeln, würden Sie den folgenden Befehl verwenden:
„
$ date --date '1970-01-01 12:00:00 EST' +%s
„
Hier wird „date“ mit der Option „--date“ verwendet, um eine Zeichenfolge, die Datum und Uhrzeit darstellt, in die Epochenzeit umzuwandeln. „+%s“ formatiert die Ausgabe als Anzahl der Sekunden seit dem 1. Januar 1970, 00:00:00 UTC.
Dieser Befehl würde die folgende Epochenzeit ausgeben:
„
3600
„
2. Konvertieren Sie die Epochenzeit in das Datum unter Berücksichtigung von UTC:
Um beispielsweise die Epochenzeit „1585233869“ in ein Datum und eine Uhrzeit im UTC-Format umzuwandeln, würden Sie den folgenden Befehl verwenden:
„
$ date -ud @1585233869
„
In diesem Beispiel wird die Option „-ud“ mit dem Symbol „@“ verwendet, um die Epochenzeit „1585233869“ als Unix-Zeitstempel in UTC zu interpretieren.
Dieser Befehl würde das folgende Datum und die folgende Uhrzeit ausgeben:
„
So, 29. März 18:24:29 UTC 2020
„
3. Konvertieren Sie die Epochenzeit in die lokale Zeitzone:
Um die Epochenzeit „1585233869“ in ein Datum und eine Uhrzeit in einer bestimmten Zeitzone umzuwandeln, verwenden Sie „date -d @1585233869 -T „timezone““ und ersetzen Sie „timezone“ durch die gewünschte Zeitzone.
„
$ date -d @1585233869 -T "Amerika/New_York"
„
Dies würde Folgendes anzeigen:
„
So, 29. März 13:24:29 EDT 2020
„
4. Konvertieren Sie das Datum in Epochen-Millisekunden (Millisekunden seit der Epoche):
Um ein Datum wie „1. Juli 2020, 12:30 Uhr“ in Millisekunden umzuwandeln, verwenden Sie „date +%s%3N“, wobei „+%s“ die Sekunden seit der Epoche angibt und „%3N“ drei Ziffern für Millisekunden anhängt .
„
$ date --date '1. Juli 2020, 12:30 Uhr' +%s%3N
„
Dies gibt Epochen-Millisekunden aus:
„
1593630600992
„
5. Epoche Millis in ein für Menschen lesbares Datum konvertieren:
Um Epochenmillis, wie 1593630600000, in eine Datumszeichenfolge umzuwandeln, verwenden Sie „date -d @epoch-millis +'%Y-%m-%d %H:%M:%S.%3N“.
„
$ date -d @1593630600000 +'%Y-%m-%d %H:%M:%S.%3N'
„
Ausgabe:
„
2020-07-01 12:30:00.000
„
6. Erhalten Sie das aktuelle Datum und die aktuelle Uhrzeit in maschinenlesbarem Format:
„date +%s%3N“ zeigt Epochen-Millisekunden an, was beim Vergleich zweier Daten nützlich ist.
„
$ Datum +%s%3N
„
Ausgabe:
„
1593633240539
„
7. Tage zur Epoche addieren oder subtrahieren:
„date -d @epoch-seconds +days“ passt die Epochenzeit um die angegebene Anzahl von Tagen an. Zum Beispiel:
„
$ date -d @1593630600 +3days
„
Ausgabe:
„
Do, 4. Juli 12:30:00 EDT 2020
„
8. Subtrahieren Sie Daten, um die Differenz zu berechnen:
Um die Differenz zwischen zwei Datumsangaben zu berechnen, ermitteln Sie deren Epochensekunden und subtrahieren sie. Zum Beispiel:
„
$ end_time=$(Datum +%s)
$ start_time=$(date -d "2019-07-01" +%s)
$ different_in_seconds=$(( end_time - start_time ))
„
9. Zeitintervalle addieren oder subtrahieren:
Um bestimmte Intervalle wie 5 Stunden und 30 Minuten zu einer bestimmten Epochenzeit zu addieren oder davon zu subtrahieren, verwenden Sie Folgendes:
„
$ Datum -d @1593630600 +5 Stunden -30 Minuten
„
Ausgabe:
„
Fr, 2. Juli 12:00:00 EDT 2020
„
10. Datum bis zum zukünftigen Ereignis zählen:
Um zu bestimmen, wie lange es bis zu einem bestimmten Datum in der Zukunft dauert, konvertieren Sie beide relevanten Daten in Epochensekunden und berechnen Sie die Differenz. Zum Beispiel:
„
$ end_time=$(date -d "2021-12-25 00:00" +%s)
$ start_time=$(Datum +%s)
$ seconds_until_Christmas=$(( end_time - start_time ))
„
11. Daten seit dem letzten Ereignis zählen:
Ebenso würde das Zählen der Anzahl der Tage seit einem Ereignis wie einem Geburtstag das Subtrahieren der Epochensekunden des Ereignisdatums vom aktuellen Datum erfordern:
„
$ Geburtstag=$(Datum -d "01.09.1999" +%s)
$ current_time=$(Datum +%s)
$ days_since_birthday=$(( (aktuelle_Zeit - Geburtstag)/(60*60*24) ))
„
12. Zufällige Epochenzeit generieren:
Um einen zufälligen Zeitstempel innerhalb eines angegebenen Datumsbereichs zu erstellen, verwenden Sie den folgenden Befehl:
„
$ min_time=$(date -d "2019-07-01" +%s)
$ max_time=$(date -d "2020-07-31" +%s)
$ random_time=$(shuf -i $min_time-$max_time -n1)
$ date -d @$random_time
„
13. Konvertieren Sie für Menschen lesbare Zeitspannen in Sekunden:
Um Zeitberechnungen zu vereinfachen, konvertieren Sie menschenlesbare Zeitspannen mit dem „expr“-Rechner in Sekunden:
„
$ seconds_5_hours=$(expr 5 \* 60 \* 60)
$ date +%s -d "jetzt - $seconds_5_hours Sekunden"
„
Dies gibt das aktuelle Datum/die aktuelle Uhrzeit um 5 Stunden verringert aus:
„
Fr. 9. Juli 15:02:20 EDT 2021
„
Denken Sie daran, dass bei zeitbezogenen Berechnungen die Auswahl der richtigen Zeitzone entscheidend ist, um genaue Ergebnisse zu gewährleisten.